/**
 * Store:数据存储器.
 * 将一个 data(本地/Proxy(data)/远程[url] )
 * 通过 Reader 
 * 构成一个 Record数组 
 */
Ext.onReady(function(){
	//操蛋的茴香豆的茴字有5种写法,你他妈的弄这么多方式搞毛啊
	var data = {"rooat":[{"nameaa":"佳佳","sexaa":"男"}],"allSize":"56"};
	
	//第一种 	Ext.data.Record.create({?})参数的格式,详见API
	var _store = new Ext.data.Store({
		reader:new Ext.data.JsonReader({
			root: "rooat",             //   该属性是指定包含所有行对象的数组the property which contains an Array of row objects
			totalProperty: "allSize",  //   该属性是指定记录集的总数（可选的）the property which contains the total dataset size (optional)
			idProperty: "nameaa"      //	主键
		},Ext.data.Record.create(["nameaa","sexaa"])),	
		data:data,
		autoLoad:true
	});
	
//	//第二种
//	var _store = new Ext.data.Store({
//		reader:new Ext.data.JsonReader({
//			root: "rooat",             
//			totalProperty: "allSize", 
//			idProperty: "nameaa", 
//			fields:["nameaa","sexaa"]
//		}),	
//		data:data,
//		autoLoad:true
//	});

//	//第三种	[推荐] 
//	var _store = new Ext.data.JsonStore({
//		root: "rooat",             //   该属性是指定包含所有行对象的数组the property which contains an Array of row objects
//		totalProperty: "allSize",  //   该属性是指定记录集的总数（可选的）the property which contains the total dataset size (optional)
//		idProperty: "nameaa"  ,    //	主键
//		fields:["nameaa","sexaa"],
//		data:data,
//		autoLoad:true
//	});

//最基础的是第一种,有一个普通的Store和一个Reader:
//(root,totalProperty,idProperty[不同的Reader不一样:这个是JsonReader; ArrayReader只有id; XmlReader是id,record,totalRecords])作为第一个对象,
//Ext.data.Record.create(?)作为第二个对象,

//第二种写法是第一种的变种,Reader只有一个参数
//(root,totalProperty,idProperty[不同的Reader不一样:这个是JsonReader; ArrayReader只有id; XmlReader是id,record,totalRecords])包含在参数对象中,
//而Ext.data.Record.create(?)中的?,作为fields属性包含在参数对象中

//第三种写法是第二种的简化,确定了Store的类型[ArrayStore,JsonStore,XmlStore],它们包含了对应的Reader,Reader中的初始化属性作为Store的属性.


//	/**采用这个方法会取不到值[这个地方mapping,是去读数据的时候映射],这个故事告诉我们名字不要乱来,能一样就一样,避免自己跟自己过不去**/
//	var rc = Ext.data.Record.create([{name:"a",mapping:"nameaa"},{name:"b",mapping:"sexaa"}]);
//	rco = new rc({
//		a:"娜娜",
//		b:"女"
//	});
	
	//这个地方也是第一种方式
	var rc = Ext.data.Record.create(["nameaa","sexaa"]);
	rco = new rc({
		nameaa:"娜娜",
		sexaa:"女"
	});
	_store.add(rco);

	//这个地方也是第二种方式
	var rco1 = new Ext.data.Record(["nameaa","sexaa"]);
	rco1.set("nameaa","莉");
	rco1.set("sexaa","女");
	_store.add(rco1);

	alert(_store.getAt(0).get("nameaa"))
	alert(_store.getAt(1).get("nameaa"))
	alert(_store.getAt(2).get("nameaa"))
});